﻿#region Using directives

using System;
using System.Drawing;
using System.Xml;
using MCMLXVII.Core.Common;
using MCMLXVII.BackEnd.Services.OrganizationChart.Messages;

#endregion

namespace MCMLXVII.BackEnd.Services.OrganizationChart.Interfaces
{
    public interface iOrganizationTreeMemberClass
    {
        void InitClass(msgOrganizationTreeMembersClass classInfo);
        void LoadMemberData(msgOrganizationMemberInfo memberInfo);
        msgOrganizationMemberInfo GetMemberData();
        bool HasChanges();
        Icon GetIcon();
        XmlDocument MemeberClassProperties { get; set; }
        string Description { get; set; }
        int MemberID { get;}
        int MemberClass {get;}
        string MemberClassName { get;}
        int UpdateSequence { get; set; }
        string MemberClassDescription { get;}

    }

    public interface iOrganizationTreeMemberAsFinalUser
    {
        string Language { get; set; }
    }

    public interface iOrganizationTreeMemberAsDirectoryMember
    {
        string DirectoryIdentifier { get; set; }
        string LogonName { get; set; }
        int SecurityProviderID { get; set; }
    }


    public interface iOrganizationTreeMemberAsRole
    {
        msgMembershipInfo RoleMemberID { get; set; }
    }

    public interface iOrganizationTreeMemberAsMember
    {
        msgMembershipInfo[] MemberOf { get; set;}
    }


    public interface iOrganizationTreeMemberAsGroup
    {
        msgMembershipInfo[] Members { get; set;}
    }

}
